package cn.yuanqiao.archive.liyong.mapper;

import cn.yuanqiao.archive.liyong.domain.YqDaRegister;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 登记档案信息Mapper接口
 *
 * @ProjectName: cn.yuanqiao.archive.liyong.mapper
 * @ClassName: YqDaRegisterMapper
 * @Author: lenovo
 * @Description: hbWang
 * @Date: 2024/1/26 15:41
 * @Version: 1.0
 **/
public interface YqDaRegisterMapper {
    /**
     * 查询登记档案信息
     *
     * @param id 登记档案信息主键
     * @return 登记档案信息
     */
    public YqDaRegister selectYqDaRegisterById(@Param("id") String id, @Param("tableName") String tableName);

    /**
     * 查询登记档案信息
     *
     * @param daId 登记档案信息主键
     * @return 登记档案信息
     */
    public YqDaRegister selectByDaId(@Param("daId") String daId, @Param("userId") String userId, @Param("tableName") String tableName);

    /**
     * 查询登记档案信息列表
     *
     * @param id 登记主键id
     * @return 登记档案信息集合
     */
    public List<YqDaRegister> selectYqDaRegisterCuId(@Param("id") String id, @Param("tableName") String tableName);

    /**
     * 查询登记档案信息列表
     *
     * @param data 登记档案信息
     * @return 登记档案信息集合
     */
    public List<YqDaRegister> selectYqDaRegisterList(@Param("data") YqDaRegister data, @Param("tableName") String tableName);

    /**
     * 查询档案
     *
     * @param subTableName 档案分表表名
     * @param daId 档案ID
     * @return 登记档案信息集合
     */
    public Map selectDaByDaid(@Param("subTableName") String subTableName, @Param("daId") String daId);

    /**
     * 新增登记档案信息
     *
     * @param data 登记档案信息
     * @return 结果
     */
    public int insertYqDaRegister(@Param("data") YqDaRegister data, @Param("tableName") String tableName);

    /**
     * 修改登记档案信息
     *
     * @param data 登记档案信息
     * @return 结果
     */
    public int updateYqDaRegister(@Param("data") YqDaRegister data, @Param("tableName") String tableName);

    /**
     * 更新登记表id
     *
     * @param consultId 登记表id
     * @param ids       主键id
     * @param tableName
     * @return
     */
    public int updateCuID(@Param("consultId") String consultId, @Param("ids") String[] ids, @Param("tableName") String tableName);

    /**
     * 删除登记档案信息
     *
     * @param id 登记档案信息主键
     * @return 结果
     */
    public int deleteYqDaRegisterById(@Param("id") String id, @Param("tableName") String tableName);

    /**
     * 批量删除登记档案信息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteYqDaRegisterByIds(@Param("ids") String[] ids, @Param("tableName") String tableName);
}
